www.gusucode.com > 基于Matlab的MIMO通信系统仿真 含报告;司中威;了解移动通信 > 基于Matlab的MIMO通信系统仿真 含报告;司中威;了解移动通信关键技术,了解数字通信系统仿真流程,实现基本的信道编译码、调制解调等通信模块。(好评如潮,课设拿满) 学习并实现MIMO空时处理技术 学习性能分析的思路和方法/mimo/matlab for mimo 2x2/qam16.m

    function [Ichannel, Qchannel] = qam16(b)
% Done !!!
% d = qam16(b)
% Input:
%   b = bits {0, 1} to be mapped into 16-QAM symbols
%
% Output:
%   I-channel and Q-channel 
% Gray mapping
% 0010 0110 1110 1010
% 0011 0111 1111 1011
% 0001 0101 1101 1001
% 0000 0100 1100 1000

j = sqrt(-1);
outlen  = length(b)/4;
%d = zeros(1, outlen);
Ichannel = zeros(1, outlen);
Qchannel = zeros(1, outlen);
%int Ichannel, Qchannel;
%int 
%I-channel
k = 1;
for i = 1:4:length(b)       
    if b(i) == 0
        if b(i+1) == 0 
            Ichannel(k) = -3;
        else
            Ichannel(k) = -1;
        end
    else
        if b(i+1) == 0 
            Ichannel(k) = +3;
        else
            Ichannel(k) = +1;
        end       
    end
%% Q-channel
    if b(i+2) == 0
        if b(i+3) == 0 
            Qchannel(k) = -3;
        else
            Qchannel(k) = -1;
        end
    else
        if b(i+3) == 0 
            Qchannel(k) = +3;
        else
            Qchannel(k) = +1;
        end       
    end    
    
%    d(k) = Ichannel(k) + j*Qchannel(k);
    k = k+1;
end